#pragma once

#include "..\include\ComConfig.h"

typedef int (* VisionType)() ;
typedef CString (* VisionCaption)() ;
typedef void (* VisionConfig)(CMap<CString, LPCTSTR, ConfigStruct*, ConfigStruct*> * Config) ;


class CVisionWrapper
{
public:
	CVisionWrapper(CString filename = _T(""));
	virtual ~CVisionWrapper(void);

	bool		LoadDLL(CString filename) ;
	bool		FreeDLL() ;
	// member vars
	CString			m_FileName;		// filename of DLL
	HINSTANCE		m_DLLhInstance ;// pointer to Instance of DLL
	HICON			m_nBitmap;
	// function pointers
	// document template support
	VisionType			FilyVisionType ;
	VisionCaption		FilyVisionCaption ;
	VisionConfig		FilyVisionConfig ;
	CMap<CString, LPCTSTR, ConfigStruct*, ConfigStruct*> m_pConfig;
	// GetVisionType
	int GetVisionType(void);
	// GetVisionCaption
	CString GetVisionCaption(void);
};

